Skip to content

Conversation

snomiao
Copy link
Member

@snomiao snomiao commented Oct 2, 2025

Summary

This PR implements a systematic naming convention for all GitHub workflows to improve organization and discoverability. All 22 workflows have been renamed and grouped by logical categories with consistent prefixes.

Changes

Naming Convention

  • ci-*: Continuous Integration workflows (testing, linting, validation)
  • pr-*: PR-specific automation triggered by labels
  • release-*: Release management workflows
  • types-*: TypeScript type generation workflows
  • i18n-*: Internationalization workflows

Key Renames

  • tests-ci.yamlci-tests-e2e.yaml
  • vitest-tests.yamlci-tests-unit.yaml
  • storybook-and-chromatic-ci.yamlci-tests-storybook.yaml
  • auto-backport.yamlpr-backport.yaml
  • claude-pr-review.ymlpr-claude-review.yaml
  • version-bump.yamlrelease-version-bump.yaml
  • publish-frontend-types.yamlrelease-npm-types.yaml
  • create-dev-pypi-package.yamlrelease-pypi-dev.yaml

Test Workflow Improvements

  • Grouped all test workflows under ci-tests-* pattern
  • Fork-safe deployment workflows: ci-tests-e2e-forks.yaml, ci-tests-storybook-forks.yaml
  • Added comments explaining fork deployment security workarounds

Documentation

  • Added comprehensive .github/workflows/README.md
  • Documents naming conventions, best practices, and workflow organization
  • Includes trigger patterns and external dependencies

Benefits

  1. Better Organization: Workflows are now grouped logically by prefix
  2. Improved Discoverability: Easy to find related workflows
  3. Consistent Naming: All workflows follow the same pattern
  4. Clear Purpose: Workflow names immediately indicate their function
  5. Maintainable: README provides guidelines for future workflows

Test Plan

  • All workflow cross-references updated
  • Display names match new file names
  • Fork deployment workflows properly reference main workflows
  • Release workflows reference correct npm types workflow
  • All workflows retain original functionality

🤖 Generated with Claude Code

┆Issue is synchronized with this Notion page by Unito

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Oct 2, 2025
@christian-byrne
Copy link
Contributor

This might break a lot of other things like branch protection rules

@DrJKL
Copy link
Contributor

DrJKL commented Oct 3, 2025

This might break a lot of other things like branch protection rules

These probably aren't the names I would have gone with, but this was my idea to make the actions a little more organized and make it easier to find related workflows.

The branch protection rules would almost definitely need to be updated, GitHub isn't great about noticing changes like that.

@christian-byrne
Copy link
Contributor

Should be fine as long as we update BP when merging. I think there's some other things like documentation, claude commands, and the PyPi and NPM auth stuff.

- Implement systematic naming convention using category prefixes
- Group workflows logically: ci-, pr-, release-, types-, i18n-
- Rename all 22 workflows for better organization and discoverability
- Update workflow cross-references and display names
- Add comprehensive README.md with naming guidelines and best practices

Key changes:
- CI workflows: ci-tests-e2e, ci-tests-unit, ci-tests-storybook, etc.
- PR automation: pr-backport, pr-claude-review, pr-playwright-snapshots
- Release management: release-version-bump, release-npm-types, etc.
- Type generation: types-registry-api, types-manager-api, etc.
- Internationalization: i18n-update-core, i18n-update-nodes, etc.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@snomiao snomiao force-pushed the sno-tidy-workflows branch from 7d2dbd4 to b578a42 Compare October 8, 2025 08:26
Copy link

github-actions bot commented Oct 8, 2025

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 10/14/2025, 05:00:41 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

Copy link

github-actions bot commented Oct 8, 2025

🎭 Playwright Test Results

⚠️ Tests passed with flaky tests

⏰ Completed at: 10/14/2025, 05:14:53 AM UTC

📈 Summary

  • Total Tests: 499
  • Passed: 467 ✅
  • Failed: 0
  • Flaky: 2 ⚠️
  • Skipped: 30 ⏭️

📊 Test Reports by Browser

  • chromium: View Report • ✅ 458 / ❌ 0 / ⚠️ 2 / ⏭️ 30
  • chromium-2x: View Report • ✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • chromium-0.5x: View Report • ✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • mobile-chrome: View Report • ✅ 6 / ❌ 0 / ⚠️ 0 / ⏭️ 0

🎉 Click on the links above to view detailed test results for each browser configuration.

@snomiao
Copy link
Member Author

snomiao commented Oct 8, 2025

This might break a lot of other things like branch protection rules

We are lucky! I renamed/moved only Workflow file and its names, and keep all job-names as original so nothing was breaking! You can see "All checks have passed" in this PR.

*branch protection rules matches only job-names

*just rebased

cc @christian-byrne @DrJKL

btw @DrJKL feel free to add commits to this branch for names you want :D

Copy link
Contributor

@DrJKL DrJKL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking really nice 😀

@@ -1,4 +1,4 @@
name: Validate JSON
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @benceruleanlu's idea here was that the root workflow name would 1:1 correspond with the filename, so this would be CI: JSON Validation
(Though I wouldn't mind knowing what JSON was being validated for what reason...)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

solved!

@@ -1,8 +1,10 @@
name: PR Playwright Deploy (Forks)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think for the Playwright ones I'd like to keep either Playwright or Browser in the Action name somewhere. Maybe CI: Tests - Browser and CI: Tests - Browser - Forks?
Then it'd align well with CI: Tests - Unit

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

solved!

Comment on lines 32 to 36
### Test Workflows (`ci-tests-*`)
- `ci-tests-e2e.yaml` - End-to-end testing with Playwright
- `ci-tests-unit.yaml` - Unit and component testing with Vitest
- `ci-tests-storybook.yaml` - Storybook build and visual regression testing
- `ci-tests-*-forks.yaml` - Fork-safe deployment workflows (deploy results without exposing secrets)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This kind of documentation can get out of date really quickly.
Can we put comments into the workflows themselves, then have a single e.g. here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

simplified this README.md

and added "description: " fields for each workflow yaml

- `ci-tests-*-forks.yaml` - Fork-safe deployment workflows (deploy results without exposing secrets)

### PR Label Workflows (`pr-*`)
These workflows are triggered when specific labels are added to PRs:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be a good place to link to GitHub's documentation.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

snomiao and others added 2 commits October 9, 2025 00:43
Add reference to GitHub's official documentation for workflow triggers
in the Workflow Triggers section of the workflows README.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@christian-byrne
Copy link
Contributor

This might break a lot of other things like branch protection rules

We are lucky! I renamed/moved only Workflow file and its names, and keep all job-names as original so nothing was breaking! You can see "All checks have passed" in this PR.

*branch protection rules matches only job-names

That's why you are the GOAT

snomiao and others added 6 commits October 12, 2025 21:29
- Implement systematic naming convention using category prefixes
- Group workflows logically: ci-, pr-, release-, types-, i18n-
- Rename all 22 workflows for better organization and discoverability
- Update workflow cross-references and display names
- Add comprehensive README.md with naming guidelines and best practices

Key changes:
- CI workflows: ci-tests-e2e, ci-tests-unit, ci-tests-storybook, etc.
- PR automation: pr-backport, pr-claude-review, pr-playwright-snapshots
- Release management: release-version-bump, release-npm-types, etc.
- Type generation: types-registry-api, types-manager-api, etc.
- Internationalization: i18n-update-core, i18n-update-nodes, etc.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Add reference to GitHub's official documentation for workflow triggers
in the Workflow Triggers section of the workflows README.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Add descriptive comments to key workflow files explaining purpose and triggers
- Simplify workflows README.md to focus on naming convention only
- Remove detailed workflow descriptions that can get out of date
- Point users to individual workflow files for current documentation

Addresses review feedback: documentation can get out of date quickly,
put comments into workflows themselves with single example in README.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Oct 13, 2025
snomiao and others added 4 commits October 13, 2025 23:58
Update all CI workflow names to follow "CI: <Description>" pattern
for 1:1 correspondence with filenames as suggested by @benceruleanlu:

- ci-json-validation.yaml → "CI: JSON Validation"
- ci-lint-format.yaml → "CI: Lint Format"
- ci-python-validation.yaml → "CI: Python Validation"
- ci-tests-e2e.yaml → "CI: Tests E2E"
- ci-tests-unit.yaml → "CI: Tests Unit"
- ci-tests-storybook.yaml → "CI: Tests Storybook"
- ci-tests-*-forks.yaml → "CI: Tests * Forks"

Also added explanation of JSON validation scope (all .json files
except tsconfig*.json) to address reviewer question.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Improve table alignment and formatting for category prefixes
- Fix missing newline at end of file

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
…d descriptions across all GitHub Actions workflows to reflect updated conventions. Includes updating the name and description fields across multiple YAML files. No breaking changes.
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Oct 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants